package com.hopes.bizz.emergency.statistic.serivce;


import com.hopes.bizz.emergency.drill.dto.ErEmergencyDrillDTO;
import com.hopes.bizz.emergency.drill.entity.ErActualDrillEntity;
import com.hopes.bizz.emergency.drill.vo.ErEmergencyCompanyDrillPopulationVO;
import com.hopes.bizz.emergency.drill.vo.ErEmergencyDrillVO;
import com.hopes.bizz.emergency.stastic.vo.*;

import java.util.List;

/**
 * @author yumr
 * @Description 一张图
 * @time 2023/8/8 16:33
 */
public interface GisService {

    /**
     * 应急预案级别
     * @return 不同级别个数
     */
    EmergencyPlanLevelVO emergencyPlanLevel();
    /**
     * 企业应急预案重大危险源
     * @return 统计数据
     */
    EmergencyPlanHazardVO emergencyPlanHazard();

    /**
     * 企业应急预案状态
     * @return 不同状态个数
     */
    EmergencyCompanyPlanStateVO emergencyCompanyPlanState();

    /**
     * 应急仓库级别
     * @return 不同级别个数
     */
    EmergencyWarehouseLevelVO emergencyWarehouseLevel();

    /**
     * 应急物资过期状态
     * @return 不同状态个数
     */
    EmergencyMaterialOverdueStatusVO emergencyMaterialOverdueStatus();

    /**
     * 应急车辆过期状态
     * @return 不同状态个数
     */
    EmergencyCarlOverdueStatusVO emergencyCarOverdueStatus();

    /**
     * 应急队伍过期状态
     * @return 不同状态个数
     */
    EmergencyTeamOverdueStatusVO emergencyTeamOverdueStatus();

    /**
     * 应急物资类别
     * @return 不同类别个数
     */
    EmergencyResourcesTypeVO emergencyMaterialEqType();

    /**
     * 应急车辆类别
     * @return 不同类别个数
     */
    EmergencyResourcesTypeVO emergencyCarType();

    /**
     * 应急队伍类别
     * @return 不同类别个数
     */
    EmergencyResourcesTypeVO emergencyTeamType();

    /**
     * 应急保护对象类别
     * @return 不同类别个数
     */
    EmergencyResourcesTypeVO emergencyProtectTargetType();

    /**
     * 企业应急演练年度汇总
     * @return 统计数据
     */
    List<ErEmergencyDrillVO> emergencyCompanyDrillStatistic(ErEmergencyDrillDTO dto);

    /**
     * 企业应急演练年度人数
     * @param year 年份
     * @return 统计数据
     */
    List<ErEmergencyCompanyDrillPopulationVO> emergencyCompanyDrillPopulation(Integer year);

    /**
     * 企业应急演练年度表格
     * @param year 年份
     * @return 表格数据
     */
    List<ErActualDrillEntity> emergencyCompanyDrillTable(Integer year);
}
